Various regulatory authorities or agencies may require the preparation and filing of return-type documents by individuals, businesses, corporations, or other entities. For example, the Securities and Exchange Commission (SEC) may require individual or corporate investors and agents to file 10K and 10Q reports concerning investment activities. As another example, a governmental entity, e.g., a Federal, State, county, city, district, and/or other municipality (hereinafter collectively referred to as tax authorities), may require individuals, businesses, corporations, or other taxable entities to file various tax returns. Return preparation software programs, which may include network-based programs, are available that assist preparers in preparing various returns, statements, and other forms and documents for filing by or on behalf of an entity with regulatory authorities or agencies.
An example of a return preparation software programs are network-based tax preparation software programs. Network-based tax preparation software programs (hereinafter referred to as “tax programs”) are available that assist tax preparers in preparing tax returns and other tax forms and documents for filing by or on behalf of a taxable entity with tax authorities. These network-based tax programs may guide the tax preparer through tax return preparation and filing processes for various tax authorities, and may automatically perform at least some necessary tax preparation activities in accordance with data input and forms, schedules, tax data, tables, and formulas stored with or coded into the tax program. Personal, professional, and business or corporate versions of network-based tax programs may be provided. Professional versions may be used by tax preparation professionals to prepare various tax returns for multiple taxable entities, which may include individuals, businesses, and corporations. Corporate versions may be used by corporations to prepare various corporate tax returns for multiple taxable entities. Note that corporations may have tax departments, and corporate versions of network-based tax programs may include both hardware and software that is installed and operated, for example in a corporate network or intranet, for the purpose of preparing corporate tax returns. Further, network-based tax programs may be used to prepare annual taxes, quarterly taxes, etc for filing with various tax authorities by or on behalf of taxable entities.
Typically, the tax preparer(s) will enter necessary data and information via a user interface of the network-based tax program, and, when done, access the user interface to direct the tax program to complete the tax return under preparation. The tax program may perform any necessary calculations using the entered data and information and in accordance with tax formulas relevant to the particular tax return under preparation (e.g. Federal tax return, State tax return, local tax return, etc.), and possibly data and information from other sources such as previous tax returns or other tax-related documents, to generate appropriate calculated values for certain fields of the tax return under preparation.
Some corporations may include multiple taxable entities, such as divisions, sub-corporations, and wholly are partly owned subsidiaries. These corporations may be required by various tax authorities to file consolidated tax returns that incorporate the tax return information from tax returns prepared for the multiple taxable entities within the corporation. Thus, corporate network-based tax programs may be required to calculate tax returns for individual taxable entities and consolidated tax returns. In addition, some corporations may require not only the preparation of corporate-level, consolidated tax returns, but also the preparation of other tax returns and tax documents for individual entities such as shareholders or partners, whether individuals or corporations themselves.
The calculation of consolidation-type tax returns poses significant problems in the processing of tax returns by network-based tax programs. Similarly, the processing of high volumes of individual tax returns poses significant problems to network-based tax programs. Both the processing of large consolidation-type returns and high volumes of individual tax returns require large amounts of computing resources, neither can tolerate significant failures, and both are expected by consumers to produce results in short time frames. In addition, in the case of the consolidation-type returns, there may be significant dependencies between lower level tax returns or tax calculation subtasks that may restrict the flow of the calculations. Further, changes or recalculations at a lower level on which other levels are dependent may require an entire consolidation to be recalculated.
In conventional network-based return preparation programs, such as the network-based tax programs described above, a client is typically routed to a particular server, and remains on that server for the duration of the session. The client's data entry into the return and the resulting return calculations are performed on that server. The calculations are not spread among servers, and the servers are not easy to scale. Each server can handle only a certain number of clients and the processing of a certain number of returns. Typically, in conventional network-based return preparation programs, one server cannot offload tasks to other servers.